#!/bin/bash
# jar包名称关键字
APP_NAME=recode
# 后端启动完毕间隔时间，设定
AAP_START_TIME=15
# 查询最大版本号jar包：按照文件名倒序排序找到第一个文件
APP_FILE=$(ls | grep "jar$" | sort -r | head -n1)

case "$1" in
    start)
   		pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
        if [ -n "$pid" ]; then
			echo "------>>>>>>>> 服务运行中，进程 $pid 停止启动"
		else
			echo "------>>>>>>>> 启动服务 <<<<<<<<<<------"
			if test -e $APP_FILE; then
				echo "------>>>>>>>> 服务启动中......"
				# 无输出启动日志
	# 			nohup java -jar $APP_FILE > /dev/null 2>&1 &
				java -jar $APP_FILE > /dev/null 2>&1 &
				# 有输出启动日志
	# 			java -jar $APP_FILE 2>&1 &
				sleep $(($AAP_START_TIME))
				pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
				if [ -n "$pid" ]; then
					echo "------>>>>>>>> 服务启动成功"
					echo "启动的 Java 文件: $APP_FILE"
					echo "启动进程ID: $pid"
				else
					echo "------>>>>>>>> 服务启动失败，请查看启动日志排查"
				fi
				exit 0
		  		echo "------>>>>>>>> $APP_FILE 应用包没找到"
			fi
		fi
    ;;
    stop)
	    echo "------>>>>>>>> 停止服务 <<<<<<<<<<------"
	    pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
        if [ -n "$pid" ]; then
			kill -9 $pid
			echo "------>>>>>>>> 关闭已启动进程 $pid"
		else
			echo "------>>>>>>>> 未找到 $APP_NAME 启动进程"
		fi
    ;;
    status)
    	echo "------>>>>>>>> 查询服务运行状态 <<<<<<<<<<------"
    	pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
        if [ -n "$pid" ]; then
			echo "------>>>>>>>> 服务运行中，进程 $pid"
		else
			echo "------>>>>>>>> 未找到 $APP_NAME 启动进程"
		fi
    ;;
    restart)
		echo "------>>>>>>>> 停止服务 <<<<<<<<<<------"
		pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
		if [ -n "$pid" ]; then
			kill -9 $pid
			echo "------>>>>>>>> 关闭已启动进程 $pid"
		else
			echo "------>>>>>>>> 未找到 $APP_NAME 启动进程"
		fi
		echo "------>>>>>>>> 启动服务 <<<<<<<<<<------"
		if test -e $APP_FILE; then
			echo "------>>>>>>>> 服务启动中......"
			# 无输出启动日志
# 			nohup java -jar $APP_FILE > /dev/null 2>&1 &
			java -jar $APP_FILE > /dev/null 2>&1 &
			# 有输出启动日志
# 			java -jar $APP_FILE 2>&1 &
			sleep $(($AAP_START_TIME))
			pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
			if [ -n "$pid" ]; then
				echo "------>>>>>>>> 服务启动成功"
				echo "启动的 Java 文件: $APP_FILE"
				echo "启动进程ID: $pid"
			else
				echo "------>>>>>>>> 服务启动失败，请查看启动日志排查"
			fi
			exit 0
		else
			echo "------>>>>>>>> $APP_FILE 应用包没找到"
		fi
    ;;
esac